package com.example.ibsp_demo.mapper.content;

import com.example.ibsp_demo.pojo.entity.content.Image; // 替换为实际包路径
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;

@Mapper
public interface ImageMapper {

    // 根据主键查询
    Image selectByImageId(Integer imageId);

    // 查询用户上传的图片（分页）
    List<Image> selectByUid(Map<String, Object> params);

    // 查询未被引用的图片（用于清理冗余图片）
    List<Image> selectUnusedImages(Map<String, Object> params);

    // 插入图片记录
    int insert(Image image);

    // 标记图片为已使用
    int markAsUsed(Integer imageId);

    // 批量标记图片为已使用
    int markBatchAsUsed(List<Integer> imageIds);

    // 根据主键删除
    int deleteByImageId(Integer imageId);

    // 批量删除用户的未使用图片
    int deleteUnusedByUid(Integer uid);
}